/*
  国王发金币 2
  题目描述
    国王将金币作为工资，发放给忠诚的骑士。
    第一天，骑士收到一枚金币；
    之后两天（第二天和第三天），每天收到两枚金币；
    之后三天（第四、五、六天），每天收到三枚金币；
    之后四天（第七、八、九、十天），每天收到四枚金币
    ……；
    这种工资发放模式会一直这样延续下去：
      当连续 n 天每天收到 n 枚金币后，骑士会在之后的连续 n+1 天里，每天收到 n+1 枚金币。

   请计算在前 k 天里，骑士一共获得了多少金币。
  输入描述
    一个正整数 k，表示发放金币的天数
  输出描述
    一个正整数，即骑士收到的金币数
  样例1
    输入
      6
    输出
     14
  提示
    对于 100% 的数据，1 <= k <= 10^4
*/

#include <iostream>

using namespace std;

int main() {
    int k =0;
    int n[10009] = {};
    int y = 1;
    int bol = 0;
    int n1 =0;

    cin >> k;

    // 计算骑士第1天 ~ 第k天 获得的金币数
    for (int i = 1; i <= k; i++) {
        bol++;
        n1 = n1 + y; // n1 表示累计获得的金币数, y 表示某一天获得的金币数
        if (bol == y) {
            y = y + 1;
            bol = 0;
        }
    }

    cout << n1;

    return 0;
}